home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Languguage OS 2
/
Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO
/
gnu
/
libg_261.zip
/
libg_261
/
libio
/
ChangeLog
< prev
next >
Wrap
Text File
|
1994-10-24
|
41KB
|
1,038 lines
Mon Oct 24 15:57:35 1994 Per Bothner <bothner@kalessin.cygnus.com>
* config.shared: Define NOSTDIC and use it for libio too.
Thu Oct 20 19:45:35 1994 Jason Merrill (jason@phydeaux.cygnus.com)
* iogetdelim.c: #include <stdlib.h>.
Thu Oct 20 17:09:52 1994 Per Bothner <bothner@kalessin.cygnus.com>
* iostream.h: Add classes _IO_istream_withassign and
_IO_ostream_withassign. Re-type cin, cout, cerr, clog.
(class iostream): Don't add extra _gcount field.
* ioassign.cc: New file. Implement operator= for cin etc.
* streambuf.h (class ios): Change return type of operator=.
* Makefile.in (IOSTREAM_OBJECTS): Add ioassign.o.
* Makefile.in: Re-arrange, so linux.mt overrides can work.
* fileops.c (_IO_file_seekoff): Optimize seeks within buffer.
Wed Oct 19 14:25:47 1994 Jason Merrill (jason@phydeaux.cygnus.com)
* gen-params (wint_t): Return to using __WCHAR_TYPE__ for
compatibility with gcc versions prior to 2.6.1.
Tue Oct 18 17:08:18 1994 Per Bothner <bothner@kalessin.cygnus.com>
* Makefile.in: Define _G_CONFOG_H as _G_config.h for Linux. Use it.
(IO_OBJECTS): Add iogetdelim.o.
* config/linux.mt: New file.
* configure.in: Select config/linux.mt if Linux.
* iogetdelim.c: Verious cleanups, many from
Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>.
* libioP.h: Add _IO_getdelim. Use (void) for no-parameter functions.
Thu Oct 13 16:30:56 1994 Per Bothner (bothner@kalessin.cygnus.com)
* libio.h: Rename USE_DTOA to _IO_USE_DTOA for namespace reasons.
* iostream.cc, iovfscanf.c, iovfprintf, floatconv.c:
Update USE_DTOA -> _IO_USE_DTOA.
* libio.h (_IO_feof, _IO_ferror): Move to here ...
* iolibio: ... from here
* iostream.cc (istream::get, istream::ignore, istream::read):
Set _gcount to 0 if ipfx0 failed.
* iostream.cc (flush): Do virtual function call, rather than
going through jumptable. (To get correct method in derived class.)
Bug and fix from John Wiegley <jw@cis.ohio-state.edu>.
* iofdopen.c (O_ACCMODE): Define using O_RDWR, not O_RDWRITE.
* streambuf.h (ios::rdbuf(streambuf*)): New.
* streambuf.h (ios::operator=): Make private (i.e. dis-allow).
Wed Oct 12 19:09:20 1994 Jason Merrill (jason@phydeaux.cygnus.com)
* gen-params: Define _G_NO_NRV and _G_NO_EXTERN_TEMPLATES if not
compiling with g++.
Thu Oct 6 16:03:43 1994 Per Bothner (bothner@kalessin.cygnus.com)
* iostream.texi (ostrstream::str): Note that NUL is not written
automatically.
Wed Oct 5 17:28:29 1994 Per Bothner (bothner@kalessin.cygnus.com)
* iogetdelim.c (_IO_getdelim): New function.
Wed Oct 5 15:40:22 1994 J.T. Conklin (jtc@phishhead.cygnus.com)
* config/netware.mt: New file, first cut at Netware NLM support.
* configure.in (*-*-netware*): Use config/netware.mt.
* config.shared (NLMCONV, LD): New definition.
* gen-params: check for nm in ${binutils}/nm.new.
* config.shared: Likewise.
Tue Oct 4 12:20:01 1994 Per Bothner (bothner@kalessin.cygnus.com)
* iomanip.h (omanip::operator<<): Make 2nd arg be const.
Bug and fix reported by Greg McGary <gkm@magilla.cichlid.com>.
* strstream.cc (strstreambuf::pcount): Simplify, to match
ANSI/ISO specification.
Mon Sep 26 15:19:52 1994 Jason Merrill (jason@deneb.cygnus.com)
* gen-params: Include <wchar.h> and <wctype.h> if they exist.
Thu Sep 8 14:41:41 1994 Jason Merrill (jason@deneb.cygnus.com)
* iostream.h (class istream): Declare operator>>(long double&).
(class ostream): Define operator<<(long double).
* iostream.cc (istream::operator>>(long double&)): Define.
Wed Sep 7 14:42:29 1994 Per Bothner (bothner@kalessin.cygnus.com)
* iostream.texi (Overflow): Fix bugs in example.
Fri Sep 2 17:45:57 1994 Per Bothner (bothner@kalessin.cygnus.com)
* iostream.tex: Document a little on how to write your
own streambuf-derived class, with an example.
Tue Aug 30 13:03:57 1994 Brendan Kehoe (brendan@lisa.cygnus.com)
* floatconv.c (s2b): Declare X and Y to be _G_int32_t.
(diff, quorem): Declare BORROW, Y, and Z likewise.
(ulp): Declare L likewise.
(_IO_strtod): Declare L and AADJ likewise.
(_IO_dtoa): Declare L and D likewise. Cast division of D by DS to
_G_int32_t.
Mon Aug 29 16:01:54 1994 Per Bothner (bothner@kalessin.cygnus.com)
* iosetvbuf.c (_IO_setvbuf): If setting _IOFBF and no
buffer was specified, call __doallocate.
* fileops.c, floatconv.c: Add a bunch of parentheses to
shut up gcc warnings. Patch from H.J.Lu.
* stdiostream.cc (stdiobuf::sys_read): Inline call to getc
for the normal case (size==1).
Sat Aug 20 12:14:52 1994 Per Bothner (bothner@kalessin.cygnus.com)
* Makefile.in (VERSION): Increase to 0.66.
Fri Aug 19 17:28:41 1994 Per Bothner (bothner@kalessin.cygnus.com)
* iolibio.h: Added _IO_printf prototype.
Added extern "C" { ... } wrappers #ifdef __cplusplus.
Bugs reported by Neal Becker <neal@ctd.comsat.com>.
Wed Aug 17 18:17:15 1994 Per Bothner (bothner@kalessin.cygnus.com)
* fileops.c (_IO_file_seekoff): For _IO_seek_cur, adjust for
read-ahead before jumping to label dumb.
Wed Aug 3 13:15:01 1994 H.J. Lu (hjl@nynexst.com)
* libioP.h (CHECK_FILE(FILE,RET)): new, which checks for
FILE == NULL and _IO_MAGIC_MASK.
(COERCE_FILE(FILE)): merged into CHECK_FILE(FILE,RET)
with typo fixes.
* iofread.c, iofwrite.c: add CHECK_FILE(fp, 0);
* iofclose.c: add CHECK_FILE(fp, EOF); remove _IO_MAGIC_MASK check.
* iofflush.c, iofgetpos.c, iofputs.c, iofscanf.c,
iofsetpos.c, iofvbuf.c, ioungetc.c:
Add CHECK_FILE(fp, EOF) and remove COERCE_FILE(fp).
* iofgets.c: add CHECK_FILE(fp, NULL) and remove COERCE_FILE(fp).
* iofprintf.c: add CHECK_FILE(fp, -1) and remove COERCE_FILE(fp).
* ioftell.c: add CHECK_FILE(fp, -1L) and remove COERCE_FILE(fp).
* iosetbuffer.c: add CHECK_FILE(fp, ) and remove COERCE_FILE(fp).
Fri Aug 12 15:35:39 1994 Per Bothner (bothner@kalessin.cygnus.com)
* iofdopen.c (_IO_fdopen): #define O_ACCMODE if it isn't.
Still set O_APPEND if "a" is given, but don't unset it
if it isn't. Added comment.
Mon Aug 8 13:11:00 1994 Per Bothner (bothner@kalessin.cygnus.com)
* gen-params (VTABLE_LABEL_PREFIX): Changes in the implementation.
For look for _*vt[$_.]7*filebuf in the nm output, because that
matches what g++ produces and has produced. Thus it should be
somewhat more robust.
Sun Aug 7 22:52:49 1994 Per Bothner (bothner@kalessin.cygnus.com)
* gen-params (CC): Remove no-longer-needed -I options
passed to xgcc (now they are implied by the -B options).
Wed Jul 20 16:41:13 1994 Per Bothner (bothner@kalessin.cygnus.com)
* Makefile.in (tooldir): Added definition, so we can do
'make install' in this directory.
Bug reported by Klamer Schutte <schutte@tpd.tno.nl>.
Mon Jul 18 18:02:34 1994 Per Bothner (bothner@kalessin.cygnus.com)
* gen-params (VTABLE_LABEL_PREFIX): Remove filename sppearing
by itself. Add comment explaining what is going on.
Tue Dec 21 13:02:48 1993 H.J. Lu (hjl@jalod)
* libio.h: define _IO_uid_t and _IO_HAVE_ST_BLKSIZE
as _G_xxxxxxxx.
Tue Dec 21 13:02:48 1993 H.J. Lu (hjl@jalod)
* iopopen.c: Don't include <errno.h>. It is included in "libioP.h".
* iopopen.c (_IO_proc_close) : check if fp is on the list
before close it.
Thu Jul 14 16:38:47 1994 Per Bothner (bothner@kalessin.cygnus.com)
* gen-params (CONFIG_NM): Make sed scripts to find vtable name
mangling more robost for different forms of nm output.
Tue Dec 21 13:02:48 1993 H.J. Lu (hjl@jalod)
* iofopen.c (_IO_fopen): don't check [redundantly] fp == NULL after
IO_file_init(&fp->_file).
* iomanip.h (template<class TP> class iapp):
change ostream to istream.
Tue Jul 12 14:09:02 1994 Per Bothner (bothner@kalessin.cygnus.com)
* Makefile.in (VERSION): Increase to 0.65.
* libioP.h (builtinbuf_vtable): Only define #ifdef __cplusplus.
* gen-params (_G_int8_t): Only define if defined(__STDC__),
because K&R C compilers don't have signed char.
(_G_int64_t, _G_uint64_t): Only define if defined(__GNUC__)
because other compilers may not have long long.
Sun Mar 06 13:10:21 1994 H.J. Lu (hjl@nynexst.com)
* floatconv.c (_IO_dtoa ()): fix a small memory leak, set the
"on_stack" field to be 0 if "result" is not NULL.
Sat Mar 05 13:18:20 1994 H.J. Lu (hjl@nynexst.com)
* floatconv.c (_IO_dtoa ()): if the number of digits of the
floating point number is more than the previous one, free the
old string and allocate a new one.
[Minor optimization to avoid Bcopy. -PB]
Mon Jul 11 10:53:41 1994 Per Bothner (bothner@kalessin.cygnus.com)
* fileops.c (_IO_file_underflow): 'count' should be unsigned,
since it contains the return value of read. Reported by
Teemu Torma <tot@trema.fi>.
Tue Dec 21 13:02:48 1993 H.J. Lu (hjl@nynexst.com)
* floatconv.c (_IO_strtod ()): make "+" and "-" as error.
Sat Jul 9 15:09:21 1994 Per Bothner (bothner@kalessin.cygnus.com)
Make sure _IO_FILE::_flags is always initialized correctly, for the
C functions (fopen, fdopen, popen), and not just the C++ functions.
* fileops.c (_IO_file_init): Set _flags to CLOSED_FILEBUF_FLAGS.
* fileops.c (_IO_file_fopen): Remove bogus assignment.
* filebuf.cc (filebuf constructors): Don't pass CLOSED_FILEBUF_FLAGS
to streambuf constructor - _IO_file_init does it instead.
* filebuf.cc (CLOSED_FILEBUF_FLAGS): Removed.
* iopopen.c (_IO_proc_open): Use _IO_mask_flags.
Thu Jun 30 08:49:53 1994 Jason Merrill (jason@deneb.cygnus.com)
* dbz/Makefile.in (mostlyclean): Add target.
Wed Jun 29 09:30:12 1994 Jason Merrill (jason@deneb.cygnus.com)
* gen-params: Woops, can't run a C program to determine target
characteristics. Sigh.
Tue Jun 28 03:11:33 1994 Jason Merrill (jason@deneb.cygnus.com)
* gen-params: Add _G_{,u}int{8,16,64}_t, use a short C program to
determine what all these should be rather than trying to compare
the MAX numbers in the shell.
Sun Jun 26 21:04:24 1994 Per Bothner (bothner@kalessin.cygnus.com)
* stdiostream.h, stdiostream.cc (stdiobuf::xsgetn): Removed.
Too hairy. If we want to optimize it, we should do so in
filebuf::xsgetn (or rather _IO_file_xsgetn).
* stdiostream.h (class stdiobuf), stdiostream.cc: Fix parameter
and return types of virtual function to matcher base types (Oops!).
* streamstream.cc (stdiobuf::xsgetn, stdiobuf::xsputn):
Optimize to call fread.fwrite directly if !buffered.
* fileops.c: Fix comment.
Fri Jun 24 11:28:18 1994 Per Bothner (bothner@kalessin.cygnus.com)
* stdiostream.h (istdiostream, ostdiostream): New classes.
More robust final cleanup.
* cleanup.c (_IO_register_cleanup): Register _IO_cleanup,
rather than _IO_flush_all.
* filedoalloc.c: Update comment.
* genops.c (_IO_unbuffer_all): New. Makes all files unbuffered.
* genops.c (_IO_cleanup), libioP.h: New function. Call
_IO_flush_all, and then _IO_unbuffer_all. This is in case C++
destructors try to do output *after* _IO_cleanup is called.
Construct standard stdiobufs statically (using type punning).
* stdstrbufs.c; Unless _STDIO_USES_IOSTREAM declare standard
stdiobufs (for stdin, stdout, and stderr), using type punning
(struct _IO_fake_stdiobuf). This avoids constructor-time problems.
* stdstreams.cc: Remove the declarations of the stdiobufs.
Instead use the new (fake) ones in stdstrbufs.cc. We no longer
have to call ios::sync_with_stdio at constructor time.
Preliminary support for new ANSI streambuf::uflow virtual.
* libioP.h (struct _IO_jump_t): Add __uflow field.
* genops.c (_IO_default_uflow), libioP.h: New function.
* fileops.c (_IO_file_jumps), iopopen.c (IO_proc_jumps),
iovfprintf.c (_IO_helper_jumps), strops.c (_IO_str_jumps),
streambuf.cc (_IO_streambuf_jumps): Add _IO_default_uflow.
* genops.c (__uflow): New function.
(save_for_backup): New function. Some code shared by
__underflow and __uflow, moved out from the former.
(_IO_default_uflow): New function.
* libio.h (_IO_getc): Call __uflow, not __underflow.
Wed Jun 22 20:22:49 1994 Per Bothner (bothner@kalessin.cygnus.com)
Make sure that the vtable of a streambuf is always valid,
which makes ios::rdbuf simpler and faster.
* gen-params: Add code to determine _G_VTABLE_LABEL_HAS_LENGTH,
_G_VTABLE_LABEL_PREFIX, _G_VTABLE_LABEL_PREFIX_ID, and
_G_USING_THUNKS, which describe how virtual function tables are named.
* stdfiles.c (FILEBUF_LITERAL): Moved to libioP.h.
* libioP.h (builtinbuf_vtable): New (complicated) declaration.
* filebuf.cc (filebuf::__new), strstream.cc (SET_STR_JUMPS):
Initialize vtable to builtinbuf_vtable, not NULL.
* stdstrbufs.cc: New file. Same as stdfiles.c, except that
vtable is initialized to builtinbuf_vtable, not NULL.
* streambuf.h (ios::rdbuf): Can now simplify/optimize, due to
above changes. Always, just return _strbuf.
* builtinbuf.h, builtinbuf.cc (builtinbuf::vtable,
builtinbuf::get_builtin_vtable): Removed. No longer needed.
* streambuf.h, builtinbuf.cc (ios::_IO_fix_vtable): No longer needed.
Only defined #ifdef _STREAM_COMPAT, for binary compatibility.
* Makefile.in: Move stdfiles.o from IO_OBJECTS to STDIO_WRAP_OBJECTS.
(IOSTREAM_OBJECT): Add stdstrbufs.o.
* Makefile.in (_G_config.h): Pass $(CXXFLAGS) as part of $(CXX).
Fri Feb 11 11:08:01 1994 SBPM Marc GINGOLD (marc@david.saclay.cea.fr)
* iovfprintf.c (helper_vfprintf): add
hp->_IO_file_flags = _IO_MAGIC|(_IO_IS_FILEBUF+_IO_NO_READS);
[This is needed because _IO_vfprintf checks for _IO_UNBUFFERED. -PB]
[Actually: don't set _IO_IS_FILEBUF. -PB]
Wed Jun 22 13:49:22 1994 Per Bothner (bothner@kalessin.cygnus.com)
* stdiostream.cc, stdiostream.h (stdiobuf::buffered): New methods.
* iofdopen.c (_IO_fdopen): Various minor improvements.
* iovfscanf.c: Don't return EOF on control_failure.
Tue Dec 21 13:02:48 1993 H.J. Lu (hjl@nynexst.com)
* iovfscanf.c: Enforce the sequence of the conversion specifications.
Fri Jun 17 20:57:22 1994 Per Bothner (bothner@kalessin.cygnus.com)
* iofdopen.c: Use fcntl to check that requested access mode is
compatible with existing access mode, and to change the
O_APPEND file status flag if need be.
Thu Jun 16 17:33:50 1994 Per Bothner (bothner@kalessin.cygnus.com)
* streambuf.h (ios::init): Initialize all the fields.
This may be overkill, but the current ANSI working paper requires it.
* streambuf.h (ios::ios): Reimplement in terms of ios::init.
* iostream.cc (Non-default constructors istream::istream,
ostream::ostream, iostream::iostream): Cannot use a mem-initializer,
because it is ignored if initializing a derived class. Instead,
call ios::init.
Wed Jun 15 13:35:37 1994 Per Bothner (bothner@kalessin.cygnus.com)
* stdstreams.cc (ISTREAM_DEF): Fix typo (it's a _fake_istream, not
a _fake_ostream). Reported by Jason Shirk <jshirk@gomez.intel.com>.
* stdiostream.h, stdiostream.cc (stdiobuf::~stdiobuf): New.
Call _IO_do_flush.
* stdiostream.cc (stdiobuf::sync): Call _IO_do_flush rather
than filebuf::sync (to avoid bad seeks).
* libioP.h (_IO_do_flush): Add missing parentheses.
Fri Jun 3 19:16:57 1994 Jason Merrill (jason@deneb.cygnus.com)
* config.shared (CXXFLAGS): Remove -fno-implicit-templates.
* iomanip.h: Add explicit external instantiations.
Wed Jun 1 14:14:44 1994 Per Bothner (bothner@kalessin.cygnus.com)
* libio.h (struct _IO_FILE_plus): Move definition from here ...
* libioP.h (struct _IO_FILE_plus): ... to here. Since this
file is private to the implementation, we can rename the fields
from the implementor's to the user's name anme space.
(This avoids a lossage on SCO, whose stdio.h has a #define _file.)
* iofdopen.c, iofopen.c, stdfiles.c: Fix field references accordingly.
* iopopen.c (struct_IO_proc_file): Rename fields from
implementor's name space to user's, and update usages.
* streambuf.h (streambuf::_vtable): Re-implement to not need
struct _IO_FILE_plus.
* strfile.h (struct _IO_strfile_): Likewise.
Wed Jun 1 13:57:48 1994 Jason Merrill (jason@deneb.cygnus.com)
* config.shared (CXXFLAGS): Use -fno-implicit-templates instead of
-fexternal-templates.
Tue May 31 08:49:28 1994 Mike Stump (mrs@cygnus.com)
* genops.c, iofclose.c, iofdopen.c, iofopen.c, iopopen.c: Be
consistent about protecting #include <stdlib.h>.
* ioputs.c: Add #include <string.h>, to avoid warning on alpha.
* iofdopen.c: Add #include <stdlib.h>, so that malloc works on
machines where sizeof(int) != sizeof(void *).
Mon May 30 17:26:49 1994 Per Bothner (bothner@kalessin.cygnus.com)
* pfstream.cc (ipfstream::ipfstream, opfstream::opfstream):
Reverse sense of test of return value of procbuf::open.
(It returns NULL on failure.)
* filedoalloc.c (_IO_file_doallocate): Remove dead code for
USE_MALLOC_BUF. Add code to return EOF if ALLOC_BUF fails.
Sat May 28 13:47:47 1994 Jason Merrill (jason@deneb.cygnus.com)
* iomanip.cc: Explicitly instantiate smanip<int> and
smanip<ios::fmtflags>.
Wed May 25 16:04:12 1994 Per Bothner (bothner@kalessin.cygnus.com)
* strfile.h: Use __P instead of _PARAMS.
Fri May 20 11:42:17 1994 Per Bothner (bothner@kalessin.cygnus.com)
* libio.h: Rename _PARAMS macro to __P for better glibc and BSD
compatibility. (Also define _PARAMS for backwards compatibility.)
* cleanup.c, iolibio.h, ioperror.c, iovfprintf.c, iovfscanf.c,
libioP.h: Use __P instead of _PARAMS.
* iostdio.h: Use __P instead of _ARGS.
* fileops.c (_IO_file_read): Minor stylistic tweak. (It is
preferable to test errno *after* the error return.)
Fri May 13 15:25:36 1994 Jason Merrill (jason@deneb.cygnus.com)
* iostream.*: Add insertor and extractor for bool (just pretend
it's an int).
Fri May 13 14:12:03 1994 Mike Stump (mrs@cygnus.com)
* gen-params: Check for builtin bool support.
Wed May 11 00:48:35 1994 Jason Merrill (jason@deneb.cygnus.com)
Make libg++ build with gcc -ansi -pedantic-errors
* gen-params: #ifdef __STRICT_ANSI__, #define _G_NO_NRV.
* pfstream.cc (ipfstream::ipfstream): Wrap use of variable-size
array in #ifndef __STRICT_ANSI__.
Fri May 6 12:42:21 1994 Per Bothner (bothner@kalessin.cygnus.com)
* Makefile.in (VERSION): Increase to 0.64.
* isgetline.cc (istream::getline): The delimiter should *not*
be included in the gcount().
* filedoalloc.c: #include <stdlib.h> (If __STDC__) to get malloc.
* iostream.h (ostream::put): Remove overloaded versions, to match
new working paper. (Actually just put inside _STREAM_COMPAT, for now.)
Tue May 3 14:14:57 1994 Per Bothner (bothner@kalessin.cygnus.com)
* genops.c (_IO_default_finish): Make robust when called
multiple times on the same _IO_FILE*. (One way this can
happen is by the builtinbuf destructor being followed by the
streambuf destructor.)
Mon May 2 13:55:26 1994 Jason Merrill (jason@deneb.cygnus.com)
* gen-params: Actually determine wint_t rather than depending on
cpp to provide it or defaulting to the underlying type for
wchar_t.
Sat Apr 30 14:47:30 1994 Jason Merrill (jason@deneb.cygnus.com)
* gen-params: Add _G_wint_t, allow __*_TYPE__ to override values
at compile time, fix definition of _G_ARGS.
Fri Apr 29 16:55:37 1994 Per Bothner (bothner@kalessin.cygnus.com)
* libio.h: Remove #pragma interface. (There is no implementation.)
Mon Mar 28 14:22:26 1994 Per Bothner (bothner@kalessin.cygnus.com)
* iostream.cc (ostream::operator<<(double)): Add/fix support
for printing '+' when ios::showpos is set.
(Fixes bug reported by Doug Moore <dougm@cs.rice.edu>.)
* iostream.cc (istream::read): Set eofbit as well as failbit on eof.
* iostream.cc (ostream::operator<<(int)): Fix conversion
to unsigned (used to lose on INT_MIN).
* iostream.cc (ostream::operator<<(long)): Use (unsigned long),
rather than (unsigned) for temporary.
* config.shared, Makefile.in: Remove definitions and uses
of XTRAFLAGS. It is no longer needed, since it is
now implied by the -B flag.
Fri Mar 25 00:31:22 1994 Jason Merrill (jason@deneb.cygnus.com)
* builtinbuf.h: Add put /**/ around comment on trailing #endif.
* Makefile.in (c++clean): Make clean in tests subdir, too.
Wed Mar 23 16:42:09 1994 Doug Evans (dje@canuck.cygnus.com)
* configure.in: Remove Makefile.tem before creating it.
Needed when configuring from read-only source trees.
Wed Mar 16 14:06:42 1994 Per Bothner (bothner@kalessin.cygnus.com)
* stdstreams.cc: Fix so that stdiobuf are used for cin/cout/cerr,
unless _STDIO_USES_IOSTREAM is defined.
* filebuf.cc (filebuf::setbuf): Fix confusion about return
value from _IO_file_setbuf.
Sun Mar 13 00:54:12 1994 Paul Eggert (eggert@twinsun.com)
* config.shared: Ensure that `all' precedes `.PHONY';
BSDI 1.1 needs this.
Sat Mar 12 03:58:00 1994 Paul Eggert (eggert@twinsun.com)
* config.shared: Output a definition of INSTALL that uses
$${rootme}, not ${rootme}. Most `make's don't care, but BSDI
1.1 `make' does.
Fri Mar 4 17:33:01 1994 Per Bothner (bothner@kalessin.cygnus.com)
* iopopen.c: #define _POSIX_SOURCE.
* isgetline.c (istream::getline): Various fixes.
Thu Mar 3 17:58:20 1994 Per Bothner (bothner@kalessin.cygnus.com)
* iostream.cc (write_int): Fix test for when to add initial '0'
when ios::oct and ios::showbase are set.
For hex, showbase adds initial 0x (or 0X) regardless of val==0.
Bugs reported by Phil Roth <proth@cs.uiuc.edu>.
Mon Feb 21 13:18:20 1994 H.J. Lu (hjl@nynexst.com)
* libio.h (_IO_PENDING_OUTPUT_COUNT(_fp)): return the
pending output count in _fp.
Fri Feb 25 09:26:57 1994 Ian Lance Taylor (ian@cygnus.com)
* gen-params: For HAVE_SYS_WAIT, compile dummy.c, not dummy.C.
Tue Feb 22 11:19:09 1994 Per Bothner (bothner@kalessin.cygnus.com)
* streambuf.h, genops.c, libioP.h: Rename references to
_IO_FILE fields other_gbase => _IO_save_base,
_aux_limit => _IO_backup_base, and _other_egptr => _IO_save_end.
* libio.h: Remove no-longer needed macros _other_gbase,
_aux_limit, and _other_egptr.
* genops.c (__underflow, _IO_default_finishh, _IO_unsave_markers):
Check _IO_save_base for NULL before FREEing it or calling
_IO_free_backup_area.
Thu Feb 17 15:26:59 1994 Per Bothner (bothner@kalessin.cygnus.com)
* gen-params: Improve deduction of _G_uint32 and _G_int32.
Should now work for 16-bit, 32-bit, or 64-bit targets.
* gen-params: Check for sys/wait.h using ${CC}, since it's
now used in a C file, not a C++ file.
* floatconv.c: Typedef _G_uint32_t as unsigned32, and use
unsigned32 in place of unsigned long. (Needed for Alpha.)
Tue Feb 8 13:40:15 1994 Per Bothner (bothner@kalessin.cygnus.com)
* fileops.c (_IO_file_close_it): Simplify by using _IO_do_flush.
* fileops.c (_IO_file_finish): Don't call _IO_file_close_it -
do it inline. Call _IO_do_flush even if _IO_DELETE_DONT_CLOSE.
* fileops.c (_IO_file_attach): Set _IO_DELETE_DONT_CLOSE.
* genops.c (_IO_flush_all): Only call overflow if there is
something to write.
* iofclose.c (_IO_fclose): Check that magic number is correct,
and clear it when done. Avoids crashing some buggy applications.
* iogetline.c (_IO_getline): Don't gratuitously increment old_len.
* iogets.c (_IO_gets): Take care to get required ANSi semantics.
Sun Feb 6 19:50:39 1994 Jason Merrill (jason@deneb.cygnus.com)
* iomanip.cc: Explicitly instantiate operator<< and >>.
Fri Feb 4 12:28:22 1994 Jason Merrill (jason@deneb.cygnus.com)
* config.shared (CXXFLAGS): Use -fexternal-templates.
* iomanip.h: Uncomment #pragma interface.
Thu Jan 20 13:48:40 1994 Per Bothner (bothner@kalessin.cygnus.com)
If no characters are read by fgets, ANSI C doesn't allow '\0' to
be written to the buffer, but it is required by ANSI C++
for istream::get and istream::getline. Both use _IO_getline ...
* iogetline.c (_IO_getline): Don't write a '\0' at the end
of the read data. The input buffer length does not include
space for a '\0'.
* iofgets.c, iogets.c: Change appropriately.
Also check for _IO_ERR_SEEN, as required by ANSI.
* isgetline.cc: Update accordingly.
Mon Jan 17 13:24:26 1994 Jason Merrill (jason@deneb.cygnus.com)
* Makefile.in (c++clean): Added target for compiler testing
(i.e. make c++clean all).
Mon Jan 10 11:20:42 1994 Per Bothner (bothner@kalessin.cygnus.com)
* libio.h (_IO_putc): Add parentheses.
Patch from Rik Faith <faith@cs.unc.edu>.
Tue Jan 4 01:32:28 1993 Hongjiu Lu (hjl@nynexst.com)
* genops.c (_IO_default_xsputn):
(_IO_default_xsgetn):
* ioignore.c: change "_IO_size_t count" to
"_IO_ssize_t count".
* iogetline.c: change "_IO_size_t len" to
"_IO_ssize_t len".
Mon Dec 20 00:31:21 1993 Per Bothner (bothner@kalessin.cygnus.com)
* config.shared (CXXINCLUDES): Fix quoting of $(NOSTDINC).
Sun Dec 19 21:03:45 1993 Per Bothner (bothner@kalessin.cygnus.com)
* Makefile.in (VERSION): Increase to 0.63.
Fri Dec 17 13:02:44 1993 Per Bothner (bothner@kalessin.cygnus.com)
* iofread.c (_IO_fread): Return 0 if either size or count is 0.
* iofwrite.c (_IO_fwrite): Return 0 if either size or count is 0.
(This is consistent with fread, and most implementations, but not
with a literal reading of the ANSI spec.)
* iovfscanf.c (_IO_vfscanf): If got EOF while skipping spaces,
set seen_eof and break (instead of returning).
* sbscan.cc (streambuf::vscan): Set error state before returning.
* streambuf.h: Add a forward declarations for class istream
to work around a g++ vtable name mangling bug. (Patch from
harry@pdsrc.hilco.com via Jeffrey A Law <law@snake.cs.utah.edu>.)
* NEWS: New file.
Sat Dec 11 16:21:08 1993 Per Bothner (bothner@kalessin.cygnus.com)
* iovfprintf.c (struct helper_file, _IO_helper_overflow,
helper_vfprintf, _IO_helper_jumps): New structs and functions.
(_IO_vfprintf): Use helper_vfprintf to make printing to
unbuffered files more efficient.
* genops.c (_IO_default_underflow), libioP.h: New function.
* iovsscanf.c (_IO_vsscanf): The input string's length marks
its logical end-of-file.
Wed Dec 8 13:20:46 1993 Per Bothner (bothner@kalessin.cygnus.com)
* indstream.cc (indirectbuf::sync()): Don't crash if get_stream()
or put_stream() are NULL; sync() both streams even if error.
Sun Dec 5 19:24:29 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
* iostreamP.h (convert_to_seekflags): Use _IO_seek_set instead of
0 inside the conditial expressions.
* iofsetpos.c (_IO_fsetpos): Delete unused var `pos'.
Sat Dec 4 15:57:26 1993 Per Bothner (bothner@kalessin.cygnus.com)
* filedoalloc.c (_IO_file_doallocate): Change type of couldbetty
to int, and type of size to _IO_size_t, instead of size_t.
(Change needed for Ultrix, which incorrectly deliberately doesn't
define size_t in <sys/types.h> if _POSIX_SOURCE is defined.)
Thu Dec 2 22:43:03 1993 Per Bothner (bothner@kalessin.cygnus.com)
* fileops.c (_IO_file_finish): Remove redundant call to _IO_un_link.
* iofclose.c (_IO_fclose): Don't call fp->_jumps->__close; it's
too low-level. Instead call _IO_file_close_it.
* dbz/Makefile.in (rclean, distclean): Add some missing files.
Wed Dec 1 13:19:14 1993 Per Bothner (bothner@kalessin.cygnus.com)
* config/hpux.mt (MATH_H_INLINES): No longer define.
Patch from Jeffrey A Law <law@snake.cs.utah.edu>.
Fri Nov 26 13:28:36 1993 Per Bothner (bothner@kalessin.cygnus.com)
* config.shared (CINCLUDES): Define default if libg++.
* iofread.c: Use _IO_sgetn.c.
* iolibio.h (_IO_clearerr): Fix typo.
* genops.c (_IO_seekmark): Return 0 on success.
* floactconv.c (Binit): Change to static.
* iofclose.c (_IO_fclose): Check if file is _IO_stdin, _IO_stdout,
or _IO_stderr; if so don't try to free it. Fix from hjl@nynexst.com.
* genops.c (_IO_default_sync), libioP.h: New function.
* libioP.h (_IO_default_close): Use _IO_default_sync -same interface.
* Makefile.in: Increase version to 0.62.
* iopopen.c (_IO_proc_close): Use waitpid (available in libibarty,
if needed), rather than wait. Don't block/ignore SIGINT etc,
as this is counter to Posix.2.
* iopopen.c: Chain open proc_files, and have the child close
the ones that are open (as required by Posix.2).
* fstream.h (fstreambase::rdbuf), strstream.h (strstreambase
::rdbuf): Call ios::rdbuf() instead of getting _strbuf directly.
* sbscan.cc (streambuf::vscan): Comment out duplicate default arg.
* floatconv.c: Recognize Alpha and i860 as little-endian.
* streambuf.cc: Return two bogus value returns from void functions.
* iolibio.h, iofwrite.c: Fix buffer type to (const void*).
* libio.h: Predefine of struct _IO_FILE to help non-g++-compilers.
* libioP.h, pfstream.cc, stdfiles.c, iovfscanf.c: Cleanup syntax junk.
* stdstreams.cc: Minor simplification.
* streambuf.h, builtinbuf.cc: Add non-const ios::_IO_fix_vtable()
for temporary binary compatibility.
* filedoalloc.c, fileops.c: Add _POSIX_SOURCE.
* fileops.c, iofopen.c, iofputs.c, iostream.cc, strops.c,
strstream.cc, genops.c: Add some missing #includes.
* iofopen.c, iofdopen.c: Return NULL if malloc fails.
* iovfscanf.c: Fix return type in strtol prototype.
* fwrite.c: Remove bogus file.
Wed Nov 17 14:09:42 1993 Per Bothner (bothner@cygnus.com)
* builtinbuf.cc (ios::_IO_fix_vtable), streambuf.h: Make method
const, to reduce problems with -Wcast-qual.
Tue Nov 16 19:30:42 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
* config.shared (CXXINCLUDE): use ${} instead of $() for NOSTDINC
Tue Nov 16 14:15:45 1993 Per Bothner (bothner@kalessin.cygnus.com)
* iopopen.c (_IO_proc_close): Re-structure to avoid
declarations after statements.
* floatconv.c: If not __STDC__, #define DBL_MANT_DIG.
* config/isc.mt (G_CONFIG_ARGS): Remove bogus spaces.
Patch from David A. Avery <daa@nic.cerf.net>.
Tue Nov 16 15:58:31 1993 Mark Eichin (eichin@cygnus.com)
* Makefile.in (_G_config.h): explicitly use $(SHELL) to run
gen-params, since we know it is a script (we're explicitly looking
in ${srcdir} for it) and /bin/sh might not be good enough.
Mon Nov 15 13:26:22 1993 Per Bothner (bothner@kalessin.cygnus.com)
* builtinbuf.cc: Don't depend on initialization of static
variable builtinbuf::vtable, since that might happen after
we need it (for a static constructor). Instead, initialize
it when needed by inlining the code from get_builtin_vtable
into ios::_IO_fix_vtable().
* floatconv.c: Avoid using #elif, which some C compilers lack.
* iogetline.c, libioP.h: Make char parameter be int, to avoid
some default promotion anomalies.
Fri Nov 5 11:49:46 1993 Per Bothner (bothner@kalessin.cygnus.com)
* config.shared (do-clean-dvi): Remove TeX work files.
* iopopen.c (extern _IO_fork): Don't use parameter type void.
* strops.c (_IO_str_init_static): Clear the allocate_buffer
function pointer, to mark the strfile as being static.
Bug fix from Mike Raisbeck <mike@pudding.rtr.COM>.
Thu Nov 4 10:44:24 1993 Per Bothner (bothner@kalessin.cygnus.com)
* filebuf.cc (filebuf:): Use sseekoff rather than seekoff
(which loses if vtable pointer is NULL).
* iostream.cc (ostream::operator<<(long long n)): Fix thinko.
* Makefile.in (VERSION): Increase to 0.60.
* Makefile.in (IO_OBJECTS): Added iopopen.o.
* config.shared (DISTCLEAN): Also remove Make.pack.
* config.shared (CXXINCLUDES): Add $(NOSTDINC).
* config.shared (INSTALL): Fix so it ues the correct install.sh
whether $srcdir is absolute or relative.
* floatconv.c (DBL_MAX_10_EXP): Fix default value.
Wed Nov 3 10:20:49 1993 Per Bothner (bothner@kalessin.cygnus.com)
* gen-params: Make more robust to allow random junk (NeXT
has spaces) before typedefs.
* fileops.c (_IO_file_overflow): Reduce code duplication.
* Makefile.in (IO_OBJECTS): Remove ioputs.o.
* iovfscanf.c, libio.h: Extra parameter to _IO_vfscanf,
for optionally setting an error indication..
* iofscanf.c, ioscanf.c, iofscanf.c, iovsscanf.c: Fix calls to
_IO_vfscanf to pass an extra NULL.
* sbscan.cc (streambuf::vscan): If passed an extra stream,
set its error state (using new _IO_vfscanf parameter.
* filedoalloc.c, fileops.c, genops.c, iogetline.c, ioignore.c,
libio.h, libioP.h, streambuf.cc streambuf.h, strfile.h, strops.c,
strstream.cc: Replace macros (_base, _ebuf, _eback, _gptr, _egptr,
_pbase, _pptr, _epptr) by field names (_IO_buf_base, _IO_buf_end,
_IO_read_base, _IO_read_pre, IO_read_end, _IO_write_base,
_IO_write_ptr, _IO_write_end).
* libio.h: Remove the old macros (which fixes a conflict.
Mon Nov 1 15:22:12 1993 Per Bothner (bothner@kalessin.cygnus.com)
* iostream.cc: Use _IO_sputn instead of sputn. _IO_sputn does
not require a vtable pointer, and is also slightly faster.
* builtinbuf.{h,cc} (builtinbuf::setbuf): Fix return and
parameter types.
Mon Oct 25 12:56:33 1993 Per Bothner (bothner@kalessin.cygnus.com)
Kludge to make sure _IO_FILE buffers get flushed before exit.
* dbz/dbzmain.c, dbz/fake.c, dbz/byteflip.c:
Invoke DBZ_FINISH macro (if defined) before (normal) exits.
* dbz/Makefile.in (CFLAGS): Define DBZ_FINISH to call _IO_flush_all.
Sat Oct 23 22:10:53 1993 Per Bothner (bothner@kalessin.cygnus.com)
* Makefile.in (VERSION): Set to 0.60 for libg++ release.
* fileops.c (_IO_file_attach): Set _offset to _IO_pos_BAD.
* iostream.cc (ostream::flush): Fix thinkp.
* editbuf.cc, isgetsb.cc, isscan.cc, osform.cc, parsestream.cc,
pfstream.cc, sbform.cc, sbscan.cc, stdstreams.cc, stream.cc:
Replace #include "ioprivate.h" by #include "libioP.h" (and
sometimes stdarg.h, stdlib.h and/or string.h).
* ioprivate.h: Removed.
Thu Oct 21 19:24:02 1993 Per Bothner (bothner@kalessin.cygnus.com)
* PlotFile.h, SFile.h, editbuf.cc, editbuf.h, filebuf.cc,
fstream.cc, fstream.h, indstream.cc, indstream.h, iomanip.cc,
iomanip.h, ioprivate.h, iostream.cc, iostream.h, isgetline.cc,
isgetsb.cc, parsestream.cc, parsestream.h, pfstream.cc,
pfstream.h, procbuf.cc, procbuf.h, stdiostream.cc, stdiostream.h,
stdstreams.cc, streambuf.cc, streambuf.h, strstream.cc,
strstream.h: Remove old (duplicate) copyright notices.
* iostream.cc: Fix calls to sync() to be safe in the presence
of vtable-less streambufs.
Wed Oct 20 15:22:04 1993 Per Bothner (bothner@kalessin.cygnus.com)
* streambuf.h (streambuf::underflow, streambuf::overflow):
Don't make virtual functions pure.
* streambuf.cc (streambuf::underflow, streambuf::overflow):
Default definitions (return EOF).
* fstream.h: Add new (int fd, char* buf, int len) constructors.
These are deprecated, but added for AT&T compatibility.
* fstream.cc fstreambase::fstreambase(int fd, char *p, int l): New.
Thu Oct 14 14:57:01 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
* configure.in: use 'mv -f' instead of 'mv'
Tue Oct 12 05:01:44 1993 Mike Stump (mrs@cygnus.com)
* floatconv.c: Fix typo, change __STDC to __STDC__.
Mon Oct 11 17:03:12 1993 Per Bothner (bothner@kalessin.cygnus.com)
* cleanup.c: It should be #if _G_HAVE_ATEXIT, not #ifdef.
* floatconv.c, iostrerror.c, iovfprintf.c, iovfscanf.c, libioP.h:
Bunch of fixes to allow use of non-ANSI (K&R) C compilers.
* Makefile.in (iostream.list): Use CC=$(CXX) to force use of gcc.
* README: New file.
Fri Oct 8 16:19:58 1993 Per Bothner (bothner@kalessin.cygnus.com)
* Makefile.in: Move ioungetc.o from STDIO_WRAP_OBJECTS to
IO_OBJECTS (since it is needed for iovfscanf.c).
* iostrerror.c: Add declaration of strerror.
Thu Oct 7 12:02:28 1993 Per Bothner (bothner@kalessin.cygnus.com)
* cleanup.c: New file, to cause flushing at exit.
* filedoalloc.c: Cause flushing on exit.
* Makefile.in (OSPRIM_OBJECTS): Add cleanup.o.
* gen-params: Check for atexit.
Tue Oct 5 19:11:14 1993 Mike Stump (mrs@cygnus.com)
* ioperror.c (_IO_strerror): Add missing ()s in _PARAMS usage.
Tue Oct 5 10:33:37 1993 Per Bothner (bothner@kalessin.cygnus.com)
* iofprintf.c, iofscanf.c, ioprintf.c, ioscanf.c, iosprintf.c,
iosscanf.c: Remove bogus semi-colon after va_dcl.
* ioperror.c: Fix typos in declaration.
Mon Oct 4 17:12:22 1993 Per Bothner (bothner@kalessin.cygnus.com)
* configure.in (CLEAN): Define (as _G_config.h *.a).
* fileops.c (_IO_file_read): Don't assume EINTR is defined.
* iosetbuf.c: Replace by generalized ...
* iosetbuffer.c: ... variant, derived from BSD.
* Makefile.in (STDIO_WRAP_OBJECTS): Change correspondingly.
* iosetvbuf.c (iosetvbuf): Minor ANSI tweak.
* iostdio.h (setbuf, setlinebuf): New #defines.
* iolibio.h (_IO_setbuf, _IO_setlinebuf): (Re-)define as macros.
* Makefile.in (LIBIO_OBJECTS): New macro.
Tue Sep 28 14:15:52 1993 Per Bothner (bothner@kalessin.cygnus.com)
* libioP.h (_IO_proc_open, _IO_proc_close): Add missing return types.
* procbuf.cc: Belated fixes.
Mon Sep 27 14:04:47 1993 Per Bothner (bothner@kalessin.cygnus.com)
* Makefile.in: List new files. Add STDIO_WRAP_OBJECTS macro.
* floatconv.c (d2b): Use Exp_msk11 instead of Exp_msk1.
* iofgetpos.c (_IO_fgetpos), iofsetpos.c (_IO_fsetpos): Clean up.
* iolibio.h: New file. Declarations of _IO_foo, for most foo
where foo is a stdio function. (Remove these from libio.h.)
* iostream.h (istream::istreambuf, ostream::ostreambuf): Move
obsolete functions inside #ifdef _STREAM_COMPAT.
* libio.h, libioP.h, streambuf.h, parsestream.h, stdiostream.h:
Use _IO_fpos_t rather than _IO_pos_t.
* iopopen.c: New file type, for pipe (popen-like) streams.
* procbuf.cc: Now just a C++ wrapper for the files in iopopen.c.
* streambuf.h (ios::unsetf): Return complete old value of flags.
* iogets.c (_IO_gets(), ioungetc.c (_IO_ungetc), ioperror.c
(_IO_perror), iostrerror.c (_IO_strerror): New files and
functions, for stdio implementation.
* iostdio.h: Add declarations for various recently-added functions.
Sun Sep 12 14:24:55 1993 Per Bothner (bothner@kalessin.cygnus.com)
* streambuf.h (ios::showpos):: Fix typo.
Fri Aug 27 12:05:47 1993 Per Bothner (bothner@kalessin.cygnus.com)
* iopadn.c (_IO_padn): Change to return count of chars written.
* outfloat.c, iovfprintf.c: Change for new _IO_padn interface.
* iostream.cc (ostream::operator<<): Make sure to set badbit
on a failure (many places). Use _IO_padn more.
* iostream.cc (ostream& ostream::operator<<(const void *p): Move to
* osform.cc: ... here, to reduce linking-in-the-world syndrome.
* osform.cc: Use rdbuf(), instead of _strbuf directly.
* genops.c (_IO_sgetn), libio.h: New function.
* streambuf.h (streambuf.h::sgetn): Use _IO_sgetn.
* SFile.cc (SFile::operator[]): Use sseekoff, not seekoff.
Thu Aug 26 10:16:31 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
* config.shared (SUBDIRS): only recurse if the directory is configured
Wed Aug 25 12:56:12 1993 Per Bothner (bothner@kalessin.cygnus.com)
* config/{hpux.mt, isc.mt, sco4.mt}:
Moved from ../libg++/config (since they affect _G_config.h).
* configure.in: Set target_make_frag to one of the above files.
Fri Aug 20 00:53:14 1993 Per Bothner (bothner@kalessin.cygnus.com)
* iofopen.c (iofopen): Fix type passed to _IO_un_link().
* Makefile.in (_G_config.h): Pass $CC (not $CXX) as CC.
* configure.in (configdirs): Add dbz and stdio.
* fileops.c (_IO_file_seekoff): Convert more old functionality.
* iofdopen.c: Use mode parameter to set _flags.
* iofscanf.c, ioputs.c, ioscanf.c, iosprintf.c: New files.
* Makefile.in (IO_OBJECTS): Added new objects.
* iostdio.h: Add feof. fscanf, puts, sprintf, vsprintf.
* libio.h: Add _IO_vprintf macro.
* iofopen.c: Invoke _IO_un_link if failure.
* iovsprintf.c: Write terminating NUL.
* libioP.h: Add COERCE_FILE macro (by default does nothing).
* iofclose.c, iofflush.c, iofgets.c, iofprintf.c, iofputs.c,
iofread.c, ioftell.c, iofwrite.c, iosetbuf.c, iosetvbuf.c:
Invoke COERCE_FILE macro.
* ioftell.c: Use _IO_seekoff.
Wed Aug 18 22:49:56 1993 Per Bothner (bothner@kalessin.cygnus.com)
* sbform.cc (streambuf::form), sbscan.cc (streambuf::scan):
Remove cast to _IO_va_list. (Loses if array type.)
* libio.h: Handle _IO_va_list for systems that need <stdarg.h>.
* floatconv.h: Fix typo (reported by H.J.Lu).
Wed Aug 18 19:34:04 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com)
* configure.in (INSTALLDIR): handle native vs. cross case
* Makefile.in (install): don't use $TARGETLIB, set INSTALLDIR to
$(libdir)
Wed Aug 18 12:10:03 1993 Per Bothner (bothner@kalessin.cygnus.com)
* Makefile.in: Rename iostream-files to iostream.list.
* configure.in: Add iostream.list to MOSTLYCLEAN.
Tue Aug 17 18:56:59 1993 Per Bothner (bothner@kalessin.cygnus.com)
* Makefile.in: Depend on _G_config.h where appropriate.
* config.shared (CXXINCLUDES): If doing libg++, search ../libio.
Tue Aug 17 17:34:24 1993 Per Bothner (bothner@kalessin.cygnus.com)
New directory. Based on old libg++/iostream code,
but extensively re-written.